Nowadays local area networks, such as home networks or office networks comprise a variety of devices, usually connected to the public network via a gateway, also referred to as a home gateway or residential gateway. Examples of networked devices include but are not limited to personal computers, laptops, personal digital assistants, smartphones, tables, set top boxes, media players, alarm systems, lighting systems, and home automation sensors.
The home gateway is used for connection to the outside world, but may also be used to host services for use in the local network, and function as a platform where software modules can be loaded and unloaded. An example is the use of a home gateway as an Open Service Gateway initiative (OSGi) platform, where software modules, for example Java-modules, can be installed on-the-fly without rebooting the home gateway.
The home gateway can offer services to other devices in the local area network, sometimes this will mean delivering a service in the sense that software can be downloaded. Most often the home gateway enables a connection to the outside world, i.e. a public network. The connection service provided by a home gateway may be limited to a routing service, but often includes other services as well. Examples of services that may be part of a connection service provided by a home gateway include but are not limited to a network address translation (NAT) service, a firewall service, a quality of service management service, and an access control service. In addition a home gateway often serves as a system with a specific functionality within the local network. For example, a home gateway may serve as a home telephone system, as a translation/transcoding device for media streams, as a storage facility for the local area network, and/or as a printer control unit.
Also networked devices in the local area network can offer services to other devices in the same local area network. Such services may include a media server, a media player, a printing service, a lighting service as for example a lamp remote control, a thermostat service, etc. and may also include a software download service.
The home gateway may further comprise a service registry or be communicatively connected to such service registry within the local area network. The service registry registers location and further information of a deployed device within the local area network.
A user device is a device which a person uses to access services offered by networked devices. A user device can for example be a laptop computer, a smartphone, a tablet PC, or a generic input/output device.
When a user device requires a service from a networked device, it can obtain such service by using a so-called service discovery. In this procedure, which may be performed using standardized protocols such as Universal Plug and Play (UPnP), Service Location Protocol (SLP), Jini or Universal Description Discovery and Integration (UDDI), the user device initiates the service discovery by sending a service discovery message to the registry requesting information regarding the service. In response, the registry provides the user device with the location and further information that enables the device to request the service using the information obtained from the registry.
When the required service is not deployed and/or running on any networked device within the local area network, the user device cannot find the device through service discovery. In such case, the user device, either directly or via the home gateway, may search for the service on a public network or wide area network, such as the Internet. The service, if found, is then offered remotely across the network directly to the user device.
However, this option of service discovery in combination with remote service offering across an external network is limited. A local area network often uses private interne protocol (IP) address ranges and NAT on the home gateway. Under these circumstances a service may not work properly when provided remotely, i.e. outside the local area network. Additionally, while the communication over the public network is often IP-based, communication within the local area network is quite often based on different network protocols, used for example for alarm systems or home automation. Although the home gateway may be used as a mediating and/or translation device, a remotely offered service may be misinterpreted or misunderstood. Furthermore, many local area networks are controlled with respect to quality of service, for example by the home gateway. To ensure a good quality of service, a local view of the network in terms of bandwidth availability, number and position of nodes, congestion, etc. is needed. Such local view of the local area network is generally not available to the remotely offered service. Furthermore, the user device often needs specific software and functionality, not offered by protocols such as for example UPnP, to access services not offered by the networked devices.
To avoid a situation where a service can only be offered when it is deployed and/or running on a device within a local area network, one or more services could be uploaded to a home gateway, for example in the form of a list including upload location. However, generally only one internet service provider is able to upload services, and many more service providers (not necessarily internet service providers) could be offering services that can run on user devices within the local area network. In addition, new services can appear over time. It is impossible to configure in advance any and all available services on a home gateway.